jjzjj

Java mail

全部标签

java - 使用 javamail API 发送带附件的电子邮件

我正在尝试用Java发送带有附件文件的电子邮件。当我发送不带附件的电子邮件时,我会收到电子邮件,但当我添加附件时,我不会收到任何东西,也不会收到任何错误消息。这是我使用的代码:publicvoidsend()throwsAddressException,MessagingException{//systempropertiesPropertiesprops=newProperties();props.put("mail.smtp.localhost","localhost");props.put("mail.smtp.host",Configurations.getInstance()

java - 尝试在 JavaMail IMAP 中写入标志时出现 IllegalWriteException

目前我正在尝试在IMAP电子邮件上设置可见标志,如下所示:messages[EmailNumber].setFlag(Flag.SEEN,true);messages[EmailNumber].saveChanges();其中messages[]是通过加载文件夹中的所有电子邮件(设置为具有读/写访问权限)填充的Message对象数组,EmailNumber是数组中由用户选择的电子邮件计算得出的特定电子邮件在我用电子邮件本身填充的JTable中。然而,这一直在第二行给我这个:javax.mail.IllegalWriteException:IMAPMessageisread-only即使

带有 Spring 的 JavaMail - 缺少导入

我得到一个Theimportcannotberesolved以下导入错误,importorg.springframework.mail.MailSender;importorg.springframework.mail.SimpleMailMessage;我在类路径中有以下库,但我不确定哪个jar文件包含上述导入。有人知道吗?org.springframework.aop-3.1.1.RELEASE.jarorg.springframework.asm-3.1.1.RELEASE.jarorg.springframework.beans-3.1.1.RELEASE.jarorg.spr

JavaMail - 附件文件名未正确显示 UTF-8 字符

我正在尝试发送在主题、邮件正文和附件文件名中可能包含UTF-8字符的邮件。我能够将UTF-8字符作为主题和消息正文的一部分发送。但是,当我发送以UTF-8字符作为附件文件名的附件时,它无法正确显示。所以我的问题是如何将附件文件名设置为UTF-8?这是我的部分代码:MimeBodyPartpdfPart=newMimeBodyPart();pdfPart.setDataHandler(newDataHandler(ds));pdfPart.setFileName(filename);mimeMultipart.addBodyPart(pdfPart);稍后编辑:我换了pdfPart.se

按 ReceivedDate 搜索 JavaMail,不能精确到秒?

在IMAP中,消息编号基于消息何时放入文件夹(即文件夹中的第一条消息为1,第二条消息为2,依此类推)。但是,此排序不考虑消息的接收日期。我关心的是早于文件夹的消息编号1的消息,即用户手动将消息移动到文件夹中的消息(而不是在系统收到消息时)。我不能只获取每条消息的接收日期,因为这非常低效。我想我可以进行JavaMail搜索以获取所有接收日期比第一条消息的接收日期早的消息,(同样地然后进行搜索以获取接收日期比第一条消息的接收日期新的所有消息...这会很多,但是虽然我需要处理所有旧的,但我只需要处理一些较新的一个,(按照流程,我的意思是下载它的标题)。但是,当我使用搜索时,它似乎无法正常工作

JavaMail setDebug(真)

如何在JavaMailsession中setDebug(true)捕获流并在我的日志记录框架中使用它?(缺少下载源代码,更改接受流作为参数的方法,重新编译它,...)更一般地说,Java中是否有一种标准方法以这种方式“劫持和重定向”通用流输出?请注意,System.out可能已经被其他输出污染,我不知道如何“过滤”... 最佳答案 您可以将PrintStream链接到ByteArrayOutputStream,告诉JavaMail使用您的PrintStream,执行JavaMail操作,最后,将ByteArrayOutputStre

java - 为什么 JavaMail Transport.send() 是静态方法?

我正在修改我没有编写的使用JavaMail的代码,并且在理解为什么JavaMailAPI是这样设计的方面遇到了一些困难。我有一种感觉,如果我理解了,我可以做得更好。我们调用:transport=session.getTransport("smtp");transport.connect(hostName,port,user,password);那么为什么Eclipse警告我:transport.send(message,message.getAllRecipients());是对静态方法的调用吗?如果我不能使用该对象发送消息,为什么我要获取一个传输对象并提供特定于它的设置?Transp

java - 通过 JavaMail 发送到 gmail 时的 TLS 问题

事实证明,JavaMail比我想象的更令人沮丧。我看过几个在线示例,了解如何通过Gmail的服务器(但不是通过SSL)发送简单的SMTP电子邮件。在尝试了几个不同的代码示例之后,我在调用transport.connect()时一直得出相同的示例异常。我不断得到这个堆栈跟踪:Exceptioninthread"main"com.sun.mail.smtp.SMTPSendFailedException:5305.7.0MustissueaSTARTTLScommandfirst.l10sm302158wfk.21atcom.sun.mail.smtp.SMTPTransport.issu

java - 如何使用 DKIM 对 Javamail 进行签名

有没有库或没有外部库的方法来做到这一点?我正在使用apachejames作为我的邮件服务器,目前发送这样的电子邮件:publicvoidsendMessage(Stringto,Stringsubject,Stringcontent){MimeMessagemessage=newMimeMessage(session);try{message.addRecipients(Message.RecipientType.TO,to);message.setFrom(newInternetAddress(from));message.setSubject(subject);message.se

JavaMail Exchange 身份验证

我正在尝试使用JavaMail从我的应用程序中使用Exchange身份验证来执行此操作。有人可以给我一个指导吗?身份验证后,我需要发送邮件,这是我使用JavaMail的主要原因。我找到的所有链接都谈到了这个问题,但我认为这对Java来说一定是一件容易的事。提前致谢。 最佳答案 这是个好问题!我已经解决了这个问题。首先,您应该导入jarews-java-api-2.0.jar。如果你使用maven,你可以将以下代码添加到你的pom.xmlcom.microsoft.ews-java-apiews-java-api2.0其次,你应该新建